<!doctype html>
<!--
    @license
    Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
    Code distributed by Google as part of the polymer project is also
    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
  <head>
    <title>HTML Imports Test</title>
    <script src="../../tools/htmltest.js"></script>
    <script src="../../tools/chai/chai.js"></script>
    <script src="../../../src/HTMLImports/HTMLImports.js"></script>
    <link rel="import" href="imports/import-1.html">
  </head>
  <body>
    <script>
      // polyfill only test
      if (HTMLImports.useNative) {
        done();
      } else {
        addEventListener('HTMLImportsLoaded', function() {
          chai.assert.equal(5, Object.keys(HTMLImports.importLoader.cache).length,
            'must cache exactly nine resources');
          chai.assert.equal(5, Object.keys(HTMLImports.importer.documents).length,
            'must cache exactly nine documents');

          Object.keys(HTMLImports.importer.documents).forEach(function(key) {
            var doc = HTMLImports.importer.documents[key];
            if (!doc) {
              return;
            }
            var links = doc.querySelectorAll('link[rel=import]');
            Array.prototype.forEach.call(links, function(link) {
              var href = link.getAttribute('href');
              if (href.indexOf('404') <= 0) {
                chai.assert.isDefined(link.import, 'import should have an import property');
              }
            });
          });

          done();
        });

      }
    </script>
  </body>
</html>
